REST API

Data Sources

This topic has the following sections:

Example Uses

As a system integrator, I need to be able to export from Archibus up-to-date building information for one or several buildings, in order use it in external systems such as GIS systems, capital planning systems, and so on.

When getting building information from Archibus, I need to be able query a sub-set of buildings by applying filters, in order to:

API

This API provides access to data via a data source. The client specifies the data source name.

Integration APIs benefit from using data sources, which can handle tasks such as:

Security Permissions

The Data REST API accesses Archibus database only via data sources. The API respects Archibus data security, including per-user and per-role VPAs and per-field security groups.

REST API user role

All REST APIs impersonate a user with a role configured in /WEB-INF/config/oidc.properties:

oidc.role=4 - API USER

By default, in the schema and HQ databases, this role is defined with:

Secure tables

Archibus allows access to secure tables and fields (e.g. afm_users) only to users with the SYS-USRMGR security group. The REST API user role should not be assigned this security group.

Fine-grained access control

Customers can configure REST API access control for specific data fields.

Example Steps
REST API should have the same read-write access to space inventory as interactive users.
  • Assign SPAC-REV-ED and, optionally, RPLM-REV-ED security groups to the 4 - API USER role.

REST API should have read-only access to space inventory.

  • Assign SPAC-REV and, optionally, RPLM-REV security groups to the 4 - API USER role.
REST API should have read-write access to some space inventory fields.
  • Create security group SPEC-REV-API.

  • Assign the SPAC-REV-API group to the 4 - API USER role.

  • Change “review” and “edit” security groups for specific fields from SPEC-REV and SPAC-REV-ED to SPEC-REV% and SPAC-REV-ED%. These fields will be accessible both to REST API and to interactive users.

Data Sources

The data API loads data sources from /schema/ab-products/common/api/ab-api-datasources.axvw.

Data source name should follow this convention:

Api_[dataSourceName]_v[version]

Example: